package cn.dj.pet.domain;

import java.math.BigDecimal;
import java.util.Date;
import cn.dj.basic.domain.BaseDomain;
import cn.dj.org.domain.Shop;
import cn.dj.user.domain.User;
import com.fasterxml.jackson.annotation.JsonFormat;
import lombok.Data;

/**
 * 实体类：宠物
 */
@Data//自动生成getter和生成方法 - 用于mapper.xml查询出来之后把值映射给前端相应属性字段名字的页面
public class Pet extends BaseDomain{
    /**
     * 宠物名字
     */
    private String name;
    /**
     * 宠物成本价格
     */
    private BigDecimal costprice;
    /**
     * 宠物售价
     */
    private BigDecimal saleprice;
    /**
     * 类型id
     */
    private Long typeId;
    /**
     * 宠物照片 - 资源所在地址
     */
    private String resources;
    /**
     * 状态：0下架 1上架
     */
    private Integer state;//默认null
    /**
     * 下架时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date offsaletime;
    /**
     * 上架时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date onsaletime;
    /**
     * 创建时间
     */
    @JsonFormat(pattern = "yyyy-MM-dd",timezone = "GMT+8")
    private Date createtime = new Date();
    /**
     * 店铺Id 如果被领养店铺id为null
     */
    private Long shopId;
    /**
     * 如果被领养为领养用户id
     */
    private Long userId;
    /**
     * 宠物2种来源：
     * 1.店铺自己饲养 searchMasterMsgId= null
     * 2.用户发布寻主消息，店铺去收购宠物 - 宠物来自于这一条寻主消息
     */
    private Long searchMasterMsgId;
    /**
     * 保存宠物类型信息 - 为了页面显示类型的名字
     */
    private PetType petType;
    /**
     * 保存宠物所属店铺的信息
     */
    private Shop shop;
    /**
     * 保存领养人信息
     */
    private User user;
    /**
     * 接收前端的 宠物详情 的参数
     */
    private PetDetail petDetail;

}
